/********************************Copyright (c)**********************************\
**
**                   (c) Copyright 2021, Main, China, QD.
**                           All Rights Reserved
**
**                                 By(wo4fisher)
**                           http://www.wo4fisher.com
**
**----------------------------------文件信息------------------------------------
** 文件名称: bsp_leds.c
** 创建人员: wht
** 创建日期: 2021-06-09
** 文档描述:
**
**----------------------------------版本信息------------------------------------
** 版本代号: V0.1
** 版本说明: 初始版本
**
**------------------------------------------------------------------------------
\********************************End of Head************************************/
#include "bsp_leds.h"
#include "zf_pca_delay.h"
/*******************************************************************************
** 函数名称: led_init
** 功能描述:
** 参数说明: : [输入/出]
** 返回说明: None
** 创建人员: wht
** 创建日期: 2021-06-09
**------------------------------------------------------------------------------
** 修改人员:wht
** 修改日期:
** 修改描述:
**------------------------------------------------------------------------------
********************************************************************************/
void led_init()
{
    gpio_pull_set(LED1_PIN, PULLUP);
    gpio_pull_set(LED2_PIN, PULLUP);
    gpio_pull_set(LED3_PIN, PULLUP);
    gpio_pull_set(LED4_PIN, PULLUP);
}
/*******************************************************************************
** 函数名称: led_on
** 功能描述:
** 参数说明: ledNum: [输入/出]
** 返回说明: None
** 创建人员: wht
** 创建日期: 2021-06-09
**------------------------------------------------------------------------------
** 修改人员:wht
** 修改日期:
** 修改描述:
**------------------------------------------------------------------------------
********************************************************************************/
void led_on(uint8 ledNum)
{
    switch (ledNum)
    {
    case LED1:
        LED1_ON;
        break;
    case LED2:
        LED2_ON;
        break;
    case LED3:
        LED3_ON;
        break;
    case LED4:
        LED4_ON;
        break;
    default :
        break;
    }
}
/*******************************************************************************
** 函数名称: led_off
** 功能描述:
** 参数说明: ledNum: [输入/出]
** 返回说明: None
** 创建人员: wht
** 创建日期: 2021-06-09
**------------------------------------------------------------------------------
** 修改人员:wht
** 修改日期:
** 修改描述:
**------------------------------------------------------------------------------
********************************************************************************/
void led_off(uint8 ledNum)
{
    switch (ledNum)
    {
    case LED1:
        LED1_OFF;
        break;
    case LED2:
        LED2_OFF;
        break;
    case LED3:
        LED3_OFF;
        break;
    case LED4:
        LED4_OFF;
        break;
    default :
        break;
    }
}
/*******************************************************************************
** 函数名称: led_toggle
** 功能描述:
** 参数说明: ledNum: [输入/出]
** 返回说明: None
** 创建人员: wht
** 创建日期: 2021-06-09
**------------------------------------------------------------------------------
** 修改人员:wht
** 修改日期:
** 修改描述:
**------------------------------------------------------------------------------
********************************************************************************/
void led_toggle(uint8 ledNum)
{
    switch (ledNum)
    {
    case LED1:
        LED1_TOGGLE;
        break;
    case LED2:
        LED2_TOGGLE;
        break;
    case LED3:
        LED3_TOGGLE;
        break;
    case LED4:
        LED4_TOGGLE;
        break;
    default :
        break;
    }
}

void led_flash_demo(uint8 a)
{
    switch (a)
    {
    case 0:
        LED1_ON;
        pca_delay_ms(200);
        LED2_ON;
        pca_delay_ms(200);
        LED3_ON;
        pca_delay_ms(200);
        LED4_ON;
        pca_delay_ms(200);
        LED1_OFF;
        LED2_OFF;
        LED3_OFF;
        LED4_OFF;
        pca_delay_ms(200);
        break;
    case 1:
        LED4_ON;
        pca_delay_ms(200);
        LED3_ON;
        pca_delay_ms(200);
        LED2_ON;
        pca_delay_ms(200);
        LED1_ON;
        pca_delay_ms(200);
        LED1_OFF;
        LED2_OFF;
        LED3_OFF;
        LED4_OFF;
        pca_delay_ms(200);
        break;
    case 2:
        LED1_ON;
        LED3_ON;
        LED2_OFF;
        LED4_OFF;
        pca_delay_ms(300);
        LED2_ON;
        LED4_ON;
        LED1_OFF;
        LED3_OFF;
        pca_delay_ms(300);
        break;
    case 3:
        LED1_ON;
        LED2_ON;
        LED3_OFF;
        LED4_OFF;
        pca_delay_ms(300);
        LED3_ON;
        LED4_ON;
        LED1_OFF;
        LED2_OFF;
        pca_delay_ms(300);
        break;
    default:
        break;
    }

}


/********************************End of File************************************/
